maven打包插件

您所在的位置:网站首页 Valve assembly是什么意思 maven打包插件

maven打包插件

2024-01-09 00:03| 来源: 网络整理| 查看: 265

0、背景

  最近我们项目越来越多了,然后发现项目中都使用assembly插件进行打包的,于是就进行了深入的了解,本文分享该插件的配置以及微服务的统一打包方式。

一、介绍 maven提供的打包插件有如下三种: pluginfunctionmaven-jar-pluginmaven 默认打包插件【springboot默认使用该方式打包】,用来创建 project jarmaven-shade-plugin用来打可执行包,executable(fat) jar maven-assembly-plugin 支持定制化打包方式,例如 apache 项目的打包方式

每种打包方式都具有自己的应用场景。

二、Assembly 是什么意思?

三、maven-assembly-plugin是什么?

1

它是maven中针对打包任务而提供的标准插件。

四、maven-assembly-plugin插件的作用?

Assembly 插件的主要作用是,允许用户将项目输出与它的依赖项、模块、站点文档、和其他文件一起组装成一个可分发的归档文件。说白了就是:结构定制化的打包。

五、maven-assembly-plugin插件在maven项目中如何使用(即使用步骤)?

  1.  需要指定一个Assembly描述符文件。该文件指定了打包格式,包含的文件/过滤的文件等信息,可以同时指定多个描述符文件,打包成不同的格式。

  2.  在Maven工程的pom.xml文件里配置maven-assembly-plugin插件,引入Assembly描述符文件。

六、maven项目中Assembly描述符文件详解

true标签作用?

     指定打的包是否包含打包层目录,比如finalName是terminal-dispatch,当值为true,所有文件被放在包内的terminal-dispatch目录下,否则直接放在包的根目录下。

  如下图所示:

七、实践出真知

实际使用:

assembly.xml

assembly tar.gz true unix ${project.basedir} /src /main /resources . /config application *.properties log *.xml unix ${project.basedir} /bin . /bin ${project.build.directory} . /lib *.jar

 pom.xml中引入assembly.xml所在的位置。

... ... org.apache.maven.plugins maven-assembly-plugin descriptor >${basedir} /src /main /assembly /assembly.xml ${project.artifactId} ${project.build.directory} / release UTF- 8 make-assembly package single

打包命令:

mvn clean package -Dmaven.test.skip=true

或者

mvn -s /src/main/assembly/assembly.xml package assembly:assembly

其中,生成的lib文件夹下放该项目的所有依赖以及该服务jar包;应用相关的配置文件放在config目录下;bin文件夹下我们一般放start.sh和stop.sh两个脚本文件用来开启和关闭该服务。

八、总结归纳【这么多项目为什么要使用assembly插件来打包】

  随着微服务的越来越火,我们将服务进行细粒度拆分后,也需要很好的把服务的打包以及部署方式进行统一,这样我们就可以走自动化发布工具来进行统一服务的管理和部署,使得越来越方便。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3